var a = require('./a.js')
console.log(a);
setTimeout(function () {
    // 重新加载所有依赖
    delete require.cache[require.resolve('./a.js')];
    delete require.cache[require.resolve('./c.js')];
    var c = require('./c.js')
    var a = require('./a.js')
    console.log(a)
}, 8000)

// 模块的热更新并不影响其他依赖模块的更新，只有所有依赖全部更新，才有效果。
// 1 父模块更新，不用更新子模块
// 2 子模块更新，一定要更新父模块（因为直接调用的是夫模块,夫模块只有之前子模块的拷贝）
// 3 模块里暂存的模块只有副本，真正模块内容还是在global的require.cache里面

// 暂时热更新的处理可以根据文件是否更新，如果更新，那么重新加载这些模块的所有 “自定义”依赖